package com.hksj.Intelligentmanagement.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hksj.Intelligentmanagement.dto.CallDeviceScreenWithTaskOrderDTO;
import com.hksj.Intelligentmanagement.dto.CallTaskOrderDTO;
import com.hksj.Intelligentmanagement.dto.CallUserWithTaskOrderDTO;
import com.hksj.Intelligentmanagement.dto.DateQueryDTO;
import com.hksj.Intelligentmanagement.entity.CallTaskOrderEntity;
import com.hksj.Intelligentmanagement.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CallTaskOrderMapper extends BaseMapper<CallTaskOrderEntity> {

    Long countTaskOrder(@Param("currentDay") String currentDay);

    CallTaskOrderEntity getIncompleteOrderByOperatingRoomNo(@Param("operatingRoomNo") String operatingRoomNo);

    List<CallTaskOrderVo> pageTaskOrder(Page<CallTaskOrderVo> page, @Param("dto") CallTaskOrderDTO dto);

    List<CallUserTaskOrderVo> pageUserTaskOrder(Page<CallUserTaskOrderVo> page, @Param("dto") CallUserWithTaskOrderDTO dto);

    List<CallDeviceScreenOrderVo> pageScreenTaskOrder(Page<CallDeviceScreenOrderVo> page, @Param("dto") CallDeviceScreenWithTaskOrderDTO dto);

    List<StatisticsDispatchOrderNumVo> listDispatchOrderNum(@Param("dto")DateQueryDTO dto);

    List<StatisticsObtainOrderNumVo> listObtainOrderNum(@Param("dto")DateQueryDTO dto);

    List<StatisticsCompleteOrderNumVo> listDayCompleteOrderNum(@Param("dto")DateQueryDTO dto);

    List<CompleteOrderNumSimpleResultVo> getCompleteOrderNum(@Param("dto")DateQueryDTO dto);

    List<StatisticsObtainDurationVo> listDayObtainDuration(@Param("dto")DateQueryDTO dto);

    List<StatisticsCompleteDurationVo> listDayCompleteDuration(@Param("dto")DateQueryDTO dto);

    StatisticsInfoVo getStatisticsInfo();
}
